package com.itheima.test03;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/*
题目3（加强训练）

需求：

1. 定义一个类，在类中定义一个成员方法 show ，方法功能是：打印一个字符串。
2. 使用反射机制创建该类的对象，并调用该对象的 show 方法。
 */
public class Test {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
        Class<?> aClass = Class.forName("com.itheima.test03.Person");
        //对象
        Constructor<?> constructor = aClass.getConstructor(String.class, String.class, int.class, double.class);
        Object person1 = constructor.newInstance("137622", "云剑", 30, 8425.71);
        //方法
        Method show = aClass.getMethod("show");
//        System.out.println(person1);//@测试
        show.invoke(person1);
    }
}
